
--参数
local materialID = ARGV[1]

local userID = ARGV[2]

local taskID = ARGV[3]

--库存
local MKey = "material:"..materialID

--库存不足返回 1
if (tonumber(redis.call('get',MKey)) <= 0) then
    return 1

end

--每个特定物资所对应的已领取物资的userID集合
local MTKey = "task:"..materialID


redis.call('sismember',MTKey,userID)
--已领取过返回2
if (redis.call('sismember',MTKey,userID) == 1) then
    return 2
end

--redis mysql同步
--库存--
redis.call('incrby',MKey,-1)

--增加uid
redis.call('sadd',MTKey,userID)

--发送消息
redis.call('xadd','steam.task','*','userId',userID,'materialId',materialID,'id',taskID)
return 0




